//
//  SenseArAttribute.h
//  SenseAr
//
//  Created by sensetime on 2018/1/18.
//  Copyright © 2018年 SenseTime. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "SenseArMaterialRender.h"

@interface SenseArAttributeItem : NSObject;
@property (nonatomic, copy) NSString *age;              //年龄
@property (nonatomic, copy) NSString *attractive;       //颜值
@property (nonatomic, copy) NSString *gender;           //性别
@end

@interface SenseArAttribute : NSObject

/**
 创建人脸属性检测模块
 
 @param strModelPath 模型路径

 @return 人脸属性检测模块
 */
+ (SenseArAttribute *)instanceWithModelPath:(NSString *)strModelPath;

/**
 检测人脸属性
 
 @param pImageIn        输入图像，由SenseArRender类中的beautifyAndGenerateFrameInfo方法获得；
 @param iPixelFormatIn  输入图像格式
 @param iSize           输入图像尺寸
 @param iStride         输入图像跨度
 @param pFrameInfo      输入人脸信息内存
 @param pLength         输入人脸信息内存长度
 @param iRotateType     图像需要旋转的角度
 @param bNeedsMirroring 图像是否需要镜像
 
 @return 人脸属性模型数组
 */
- (NSArray<SenseArAttributeItem *> *)detectFaceAttributeWithImageIn:(Byte *)pImageIn
                                                      pixelFormatIn:(SenseArPixelFormat)iPixelFormatIn
                                                               size:(CGSize)iSize
                                                             stride:(int)iStride
                                                          frameInfo:(Byte *)pFrameInfo
                                                    frameInfoLength:(int)pLength
                                                         rotateType:(SenseArRotateType)iRotateType
                                                     needsMirroring:(BOOL)bNeedsMirroring;
@end
